//
//  ThemeLabel.m
//  微blog
//
//  Created by Jorn.Wu on 15/8/24.
//  Copyright (c) 2015年 Jorn.Wu(jorn_wza@sina.com). All rights reserved.
//

#import "ThemeLabel.h"
#import "ThemeManager.h"

@implementation ThemeLabel

/**
 * 重写dealloc方法，旨在移除观察者
 */
- (void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self name:kThemeDidChangedNotification object:nil];
}


/**
 * 重写initWithFrame方法，旨在让tabbar可以响应切换主题通知
 */
- (instancetype)initWithFrame:(CGRect)frame{
    
    if (self = [super initWithFrame:frame]) {
        
        /**
         * 注册成为接收者
         */
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(themeDidChangedNotificationAction:) name:kThemeDidChangedNotification object:nil];
    }
    
    return self;
    
}


/**
 * 重写awakeFromNib方法，旨在方便XIB创建
 */
- (void)awakeFromNib{
    
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(themeDidChangedNotificationAction:) name:kThemeDidChangedNotification object:nil];
    
}


/**
 * 通知的响应方法
 */
- (void)themeDidChangedNotificationAction:(NSNotification *)noti{
    [self reloadTextColor];
}


/**
 * 重新加载文字颜色
 */
- (void)reloadTextColor{
    ThemeManager *manager = [ThemeManager defualtManager];
    
    /**
     * 通过主题管理对象manager来获取title颜色
     */
    UIColor *color = [manager getThemeColor:self.textColorName];
    
    /**
     * 设置图片
     */
    if (color) {
        
        self.textColor = color;
        
    }
    
}


/**
 * 重写set方法，旨在更改文字颜色
 */
- (void)setTextColorName:(NSString *)textColorName{
    if (![_textColorName isEqualToString:textColorName]) {
        _textColorName = [textColorName copy];
        [self reloadTextColor];
    }
}


@end
